home *** CD-ROM | disk | FTP | other *** search
INI File | 1996-07-27 | 40.3 KB | 1,068 lines |
- ;
- ; -----------------------------------------------------------------------
- ; OEMSETUP FILE FOR 3Com PCI 10/100Mb Bus-Master adpaters.
- ; Copyrightâ 1994-1995 3Com Corporation. All rights reserved.
- ; -----------------------------------------------------------------------
- ;
- ; OS: Windows NT Version 3.5
- ; Platform type: Intel x86
- ;
- ; Supported adapters:
- ; -------------------
- ; 3Com Fast Etherlink Bus-master Adapter PCI/EISA (3C595, 3C597)
- ; 3Com Etherlink III Bus-master Adapter PCI/EISA (3C590, 3C592)
- ;
- ; Usage:
- ;
- ; This file is used for the installation/configuration/deinstallation
- ; procedure of Fast Etherlink/Etherlink III drivers for Windows NT.
- ;
- ; Current Version: %VER 1.0j
- ;
- ; History:
- ; v1.0 {JSB}: Initial Version
- ; v1.0a {JSB}: Minor tweeks
- ; v1.0b {JSB}: Changed to use EL59x.sys instead fo EL59x.sys
- ; Removed some of the keywords not needed for the defaults! (BusMaster=YES)
- ;
- ; v1.0c {JSB}: Added in support for V2 PCI (EL590) to the Inf file
- ; v1.0d {jsb}: Added el59x.sys as a place to look for messages for the Audit log.
- ; v1.0e {jsb}: Changed Configure error message too: "Cannot configure the software component"
- ; v1.0f {02/15/95 - jsb}: Enabled EISA Cards.
- ; v1.0g {03/09/95 - jsb}: Added smarts to use dectection for PCI on v3.51 and Eisa on v3.50 & v3.51
- ; v1.0h {04/04/95 - jsb}: Special version to support PCI Only for running change!
- ; v1.0i {04/11/95 - jsb}: Re-added support of EISA adapters
- ; v1.0j {04/21/95 - jsb}: Now supports CPS automated install from NT35 Reskit.
- ;
- ;------------------------------------------------------------------------
- ;
-
- [Identification]
- OptionType = NetAdapter
-
- [PlatformsSupported]
- ISA
- EISA
- "Jazz-Internal Bus"
- PCI
-
- [Options]
- 3C595 ; PCI 10/100Mb Fast Etherlink
- 3C597 ; EISA 10/100Mb Fast Etherlink
- 3C590 ; PCI 10Mb Etherlink III
- 3C592 ; EISA 10Mb Etherlink III
-
- [FileConstants]
- UtilityInf = "UTILITY.INF"
- subroutineinf = "SUBROUTN.INF"
- SoftwareType = "driver"
- Exit_Code = 0
- NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\el59x.sys"
- IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
-
- Manufacturer = "3Com"
- ProductMajorVersion = "1"
- ProductMinorVersion = "1"
- ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
- ProductSoftwareName = "El59x"
- ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\el59x.sys"
- NetRuleSoftwareType = "El59xSys ndisDriver El59xDriver"
- NetRuleSoftwareUse = $(SoftwareType)
- NetRuleSoftwareBindForm = """El59xSys"" yes no container"
- NetRuleSoftwareClass = {"El59xDriver basic"}
- NetRuleSoftwareBindable = {"El59xDriver El59xAdapter non exclusive 100"}
- ProductHardwareName = "El59x"
- NetRuleHardwareBindForm = " yes yes container"
-
- ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
- ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
-
- FunctionTitle = "3Com 3C59x Bus Master Adapter Card Setup"
- ProductSoftwareDescription = "3Com 3C59x Bus Master Adapter Driver"
- ProductSoftwareTitle = "3Com 3C59x Bus Master Adapter Driver"
-
- ProductHardware3C595Title = "3Com Fast Etherlink PCI 10/100BASE-T Adapter (3C595)"
- ProductHardware3C595Description = "3Com Fast EtherLink PCI 10/100BASE-T Adapter (3C595)"
- NetRuleHardware3C595Type = "El59x El59xAdapter"
- NetRuleHardware3C595Class = {"El59xAdapter basic"}
-
- ProductHardware3C597Title = "3Com Fast EtherLink EISA 10/100BASE-T Adapter (3C597)"
- ProductHardware3C597Description = "3Com Fast EtherLink EISA 10/100BASE-T Adapter (3C597)"
- NetRuleHardware3C597Type = "El59x El59xAdapter"
- NetRuleHardware3C597Class = {"El59xAdapter basic"}
-
- ProductHardware3C590Title = "3Com Etherlink III PCI Bus-Master Adapter (3C590)"
- ProductHardware3C590Description = "3Com Etherlink III PCI Bus-Master Adapter (3C590)"
- NetRuleHardware3C590Type = "El59x El59xAdapter"
- NetRuleHardware3C590Class = {"El59xAdapter basic"}
-
- ProductHardware3C592Title = "3Com Etherlink III EISA Bus-Master Adapter (3C592)"
- ProductHardware3C592Description = "3Com Etherlink III EISA Bus-Master Adapter (3C592)"
- NetRuleHardware3C592Type = "El59x El59xAdapter"
- NetRuleHardware3C592Class = {"El59xAdapter basic"}
-
- Adapter3C595Type = 5 ;; PCI board
- Adapter3C590Type = 5 ;; PCI board
- 3C595CFID = 22864 ;; 0x5950
- 3C590CFID = 22784 ;; 0x5900
-
- Adapter3C597Type = 2 ;; EISA board
- Adapter3C592Type = 2 ;; EISA board
-
- ;; Fast EtherLink Eisa
- 3C597EISA_COMPRESSID = 5860688 ;; 0x00596D50
- 3C597EISA_1BYTE = 1884908880 ;; 0x70596d50
- 3C597EISA_MASK = 4043309055 ;; 0xF0FFFFFF
-
- ;; EtherLink III Eisa
- 3C592EISA_COMPRESSID = 5860688 ;; 0x00596D50
- 3C592EISA_1BYTE = 542731600 ;; 0x20596d50
- 3C592EISA_MASK = 4043309055 ;; 0xF0FFFFFF
-
- [GeneralConstants]
- from = ""
- to = ""
- ExitCodeOk = 0
- ExitCodeCancel = 1
- ExitCodeFatal = 2
- KeyNull = ""
- MAXIMUM_ALLOWED = 33554432
- RegistryErrorIndex = NO_ERROR
- KeyProduct = ""
- KeyParameters = ""
- TRUE = 1
- FALSE = 0
- NoTitle = 0
- ExitState = "Active"
- OldVersionExisted = $(FALSE)
- DriverPath = $(!STF_NTPATH)\drivers
- NT350VersionConstant = "3.50"
- NT310VersionConstant = "3.10"
-
- [date]
- Now = {} ? $(!LIBHANDLE) GetSystemDate
-
- [Identify]
- read-syms Identification
- set Status = STATUS_SUCCESSFUL
- set Identifier = $(OptionType)
- set Media = #("Source Media Descriptions", 1, 1)
- Return $(Status) $(Identifier) $(Media)
-
- [ReturnOptions]
- set Status = STATUS_FAILED
- set OptionList = {}
- set OptionTextList = {}
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- ifstr(i) $($1) == ""
- goto returnoptions
- endif
- set PlatformList = ^(PlatformsSupported, 1)
- Ifcontains(i) $($1) in $(PlatformList)
- goto returnoptions
- else
- set Status = STATUS_NOTSUPPORTED
- goto finish_ReturnOptions
- endif
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_ReturnOptions
- endif
-
- returnoptions = +
- set OptionList = ^(Options, 1)
- set OptionTextList = ^(OptionsText$($0), 1)
- set Status = STATUS_SUCCESSFUL
-
- finish_ReturnOptions = +
- Return $(Status) $(OptionList) $(OptionTextList)
-
- [InstallOption]
- ;;;
- ;;; Change "Set !G:DebugOutputControl=0" to 1 in NCAPSHEL.INF for debug support.
- ;;;
- ;;; set !G:DebugOutputControl=1 ;; Debug output {1=turned on, 0= turned off}
- set Option = $($1)
- set SrcDir = $($2)
- set AddCopy = $($3)
- set DoCopy = $($4)
- set DoConfig = $($5)
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) NOT-IN $(LanguageList)
- Return STATUS_NOLANGUAGE
- endif
- set-subst LF = "\n"
- read-syms GeneralConstants
- read-syms FileConstants
- ; set NetRuleSoftwareBindable = $($R1)
- read-syms DialogConstants$(!STF_LANGUAGE)
- ifstr(i) $(!NTN_Origination) == "NCPA"
- set Continue = "OK"
- endif
- read-syms FileConstants$(!STF_LANGUAGE)
- detect date
- set-title $(Function$(Option)Title)
- set to = Begin
- set from = Begin
- set CommonStatus = STATUS_SUCCESSFUL
- EndWait
-
- Begin = +
-
- ;;
- ;; Get the Version of Windows NT we are installing on. This will allow us to use the
- ;; PCI Support that will be included in NT v3.51
- ;;
- set CurrentVersionValue = ""
- OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt
- Ifstr(i) $(KeyNt) != ""
- GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue
- Debug-Output "$(InfFile) $(Option): WinNT CurrentVersion ="$(CurrentVersionValue)
- CloseRegKey $(KeyNt)
- Endif
-
- ifstr(i) (*($(CurrentVersionValue),4)) == $(NT310VersionConstant) ;; NT v3.10 not supported!
- Debug-Output "$(InfFile) $(Option): Configureadapter"
- set Error = "Windows NT v3.10 is not support by this product"
- goto fatal
- endif
-
-
- Ifstr(i) $(!NTN_InstallMode) == deinstall
- set StartLabel = removeadapter
- else-Ifstr(i) $(!NTN_InstallMode) == Update
- set StartLabel = UpgradeSoftware
- else-Ifstr(i) $(!NTN_InstallMode) == bind
- set StartLabel = bindingadapter
- else-Ifstr(i) $(!NTN_InstallMode) == configure
- Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
- Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- set from = end
- set to = end
- goto nonfatalinfo
- else
- set StartLabel = configureadapter
- endif
- else
- set StartLabel = installadapter
- set OEM_ABANDON_OPTIONS = {}
- set OEM_ABANDON_SOFTWARE = FALSE
- set OEM_ABANDON_ON = TRUE
- endif
-
- Debug-Output "$(InfFile) $(Option): =================================================="
- Debug-Output "$(InfFile) $(Option): STF_CWDIR is: "$(!STF_CWDIR)
- Debug-Output "$(InfFile) $(Option): STF_SRCDIR is: "$(!STF_SRCDIR)
- Debug-Output "$(InfFile) $(Option): STF_LANGUAGE is: "$(!STF_LANGUAGE)
- Debug-Output "$(InfFile) $(Option): Option is: "$(Option)
- Debug-Output "$(InfFile) $(Option): !STF_NCN_InstallMode is:"$(!NTN_InstallMode)
- Debug-Output "$(InfFile) $(Option): !STF_NCDETECT is: "$(!STF_NCDETECT)
- Debug-Output "$(InfFile) $(Option): !STF_NCOPTION is: "$(!STF_NCOPTION)
- Debug-Output "$(InfFile) $(Option): !STF_NCDETCARD is: "$(!STF_NCDETCARD)
- Debug-Output "$(InfFile) $(Option): !STF_NCDETINFO is: "$(!STF_NCDETINFO)
- Debug-Output "$(InfFile) $(Option): !STF_GUI_UNATTENDED is: "$(!STF_GUI_UNATTENDED)
- Debug-Output "$(InfFile) $(Option): !STF_BusType is $(!STF_BUSTYPE)" ;; Primary Bus
- Debug-Output "$(InfFile) $(Option): !STF_BusTypeList is $(!STF_BUSTYPELIST)" ;; All Buses
- Debug-Output "$(InfFile) $(Option): =================================================="
-
- set from = $(fatal)
- set to = $(fatal)
- goto $(StartLabel)
-
- installadapter = +
-
- Debug-Output "$(InfFile) $(Option): Installadapter"
- OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
- Ifstr $(KeyProduct) != $(KeyNull)
- CloseRegKey $(KeyProduct)
- ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
- ; Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
- ; $(ProductVersion)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "ShellCode error: cannot get an error string."
- goto ShellCodeError
- endif
- goto end
- else
- ; Shell $(UtilityInf), CardExistedDlg
- ; ifint $($ShellCode) != $(!SHELL_CODE_OK)
- ; Debug-Output "ShellCode error: cannot get an error string."
- ; goto ShellCodeError
- ; endif
- ; ifstr(i) $($R1) != "OK"
- ; set CommonStatus = STATUS_USERCANCEL
- ; goto end
- ; endif
- set OldVersionExisted = $(TRUE)
- endif
- Endif
- ; Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
- ; Ifint $($ShellCode) != $(!SHELL_CODE_OK)
- ; Goto ShellCodeError
- ; Else-Ifstr(i) $($R0) == STATUS_FAILED
- ; Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
- ; ifint $($ShellCode) != $(!SHELL_CODE_OK)
- ; goto ShellCodeError
- ; endif
- ; set Error = $($R0)
- ; Goto fatal
- ; Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
- ; Goto successful
- ; Endif
- ; Set SrcDir = $($R1)
-
- ; Set SrcDir = "A:\NDIS\WINNT35"
-
- ;;***
- ;; HACKHACK - Will copy when we have a help file!
- ;;
- ;; install "Install-Hlp"
- ;;
- Goto adapteroptions
-
- configureadapter = +
- Debug-Output "$(InfFile) $(Option): Configureadapter"
-
- set Error = "Cannot configure the software component"
- goto fatal
-
- adapteroptions = +
- Debug-Output "$(InfFile) $(Option): Adapteroptions"
- set from = adapteroptions
- ; read-syms FileDependentDlg$(!STF_LANGUAGE)
- ; SetHelpFile $(!STF_WINDOWSSYSPATH)"\"$(OptionHelpFile) $(MinHelpId) $(MaxHelpId) $(Help$(Option)Id)
- ; ui start "InputDlg"
- ; ifstr(i) $(DLGEVENT) == "CONTINUE"
- ; set ConnectionIndex = $(Combo1Out)
- ; ui pop 1
- ; else-ifstr(i) $(DLGEVENT) == "BACK"
- ; set CommonStatus = STATUS_USERCANCEL
- ; ui pop 1
- ; goto end
- ; else
- ; ui pop 1
- ; goto end
- ; endif
- ;
- ; set ConnectionValue = *($(ConnectionValues), ~($(ConnectionList),$(ConnectionIndex)))
- ifstr(i) $(!NTN_InstallMode) == configure
- goto updateparameters
- endif
-
- installproduct =+
- Debug-Output "$(InfFile) $(Option): installproduct"
- StartWait
- set AdapterList = $($R1)
- ifint $(OldVersionExisted) == $(FALSE)
- Ifstr(i) $(DoCopy) == "YES"
- Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Goto ShellCodeError
- Else-Ifstr(i) $($R0) == STATUS_FAILED
- Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- Goto fatal
- Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
- Goto successful
- Endif
- Set SrcDir = $($R1)
- Endif
-
- install "Install-Option"
- ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
- Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- goto fatal
- endif
- endif
-
- ;
- ; Check to see if the Product Software key exists already in the system service keys
- ; before we try to add the software component.
- ;
- OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_READ) KeyNt
- CloseRegKey $(KeyNt)
-
- Ifstr(i) $(KeyNt) == ""
- Debug-Output "$(InfFile) $(Option): AddSoftwareComponent"
- Debug-Output "$(InfFile) $(Option): --> $(Manufacturer)"
- Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareName)"
- Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareTitle)"
- Debug-Output "$(InfFile) $(Option): --> $(STF_CONTEXTINFNAME)"
- Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareImagePath)"
- Debug-Output "$(InfFile) $(Option): --> $(NetEventDLL)"
-
- Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), +
- $(ProductSoftwareName), +
- $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
- $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
- $(NetEventDLL)
-
- Set OEM_ABANDON_SOFTWARE = TRUE
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- CloseRegKey $($R1)
- CloseRegKey $($R2)
- CloseRegKey $($R3)
- CloseRegKey $($R4)
- CloseRegKey $($R5)
- goto fatalregistry
- endif
- Set SoftProductKey = $($R1)
- Set SoftNetRuleKey = $($R2)
- Set SoftServiceKey = $($R3)
- Set SoftParameterKey = $($R4)
- Set SoftLinkageKey = $($R5)
- set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
- {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
- {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
- {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
- {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
- {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
- {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
- Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- CloseRegKey $(SoftProductKey)
- CloseRegKey $(SoftNetRuleKey)
- CloseRegKey $(SoftServiceKey)
- CloseRegKey $(SoftParameterKey)
- CloseRegKey $(SoftLinkageKey)
- goto fatalregistry
- endif
- set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
- {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
- {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
- {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
- {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
- {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
- Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- CloseRegKey $(SoftProductKey)
- CloseRegKey $(SoftNetRuleKey)
- CloseRegKey $(SoftServiceKey)
- CloseRegKey $(SoftParameterKey)
- CloseRegKey $(SoftLinkageKey)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- goto fatalregistry
- endif
- endif ;; Does Services\el59x exist?
-
- ;;***************************************************************************************************
- ;; If we are eisa, then use the EISA Enum routines to figure out how many boards we have in
- ;; the system.
- ;;
- ;; If we are PCI and we are v3.51 and above, we can use the PCI dection routines to figure
- ;; out where all the boards are (hopefully including different buses) and generate the correct
- ;; reg. entries.
- ;;
- ;;***************************************************************************************************
- ;;
- ;; Are we installing an EISA card?
- ;;
- set NTDetected = $(FALSE)
- ifcontains(i) $(Option) in {3C597,3C592}
- Debug-Output "$(InfFile) $(Option): About to look for 3Com EISA Cards"
- ;;
- ;; Yes, then just use the build in EISA dectection routine.
- ;;
- set NTDetected = $(TRUE)
- Shell $(UtilityInf), EISAFindBus, $($(Option)EISA_1BYTE),$($(Option)EISA_MASK)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "$(InfFile) $(Option): EISAFindBus Error:" $($R0)
- goto ShellCodeError
- endif
- ifstr $($R0) != "NO_ERROR"
- set Error = $($R0)
- goto fatal
- endif
- ifstr(i) $($R1) == {}
- set Error = $(CANNOT_FIND_ANY_CARD)
- set CommonStatus = USER_CANCEL
- set from = end
- goto nonfatal
- endif
- set AdapterList = $($R1)
- else
- Debug-Output "$(InfFile) $(Option): About to look for 3Com PCI Cards"
- ;;
- ;; No, Then we must be installing a PCI card.
- ;;
- ;; Note: If we are are on WinNT v3.51 and above, we have PCI detection support
- ;; and are able to setup the adapter without user intervention. Otherwise, we can
- ;; only do one card at a time.
- ;;
- set TargetVersion = *($(CurrentVersionValue),4)
- Debug-Output "$(InfFile) $(Option): Current Version:"$(TargetVersion)
-
- ifstr $(TargetVersion) == $(NT350VersionConstant) ;; We need to ask on v3.50
- Debug-Output "Running on WindowsNT 3.50"
- set Version350 = $(TRUE)
- else
- Debug-Output "Running on WindowsNT 3.51"
- set Version350 = $(FALSE)
- endif
-
- ifint $(Version350) == $(TRUE)
- Debug-Output "Running on WindowsNT v3.50, Not using PCI Detection!!!"
- ifstr $(!STF_GUI_UNATTENDED) == "YES"
- Debug-Output "$(InfFile) $(Option): Running in GUI unattended mode"
- ifstr(i) $(!AutoNetInterfaceType) != ""
- set BusInterfaceType = $(!AutoNetInterfaceType)
- else
- set BusInterfaceType = 5
- endif
- ifstr(i) $(!AutoNetBusNumber) != ""
- set BusNumber = $(!AutoNetBusNumber)
- else
- set BusNumber = 0
- endif
- set NTDetected = $(FALSE)
- set AdapterList = $(Option) ;; 1 Item to install
- Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
- Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
- else
- Debug-Output "$(InfFile) $(Option): Running 3.50 Bus Dialog"
- set BusInterfaceType = 5
- set BusNumber = 0
- set NTDetected = $(FALSE)
- Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "ShellCode error."
- goto ShellCodeError
- endif
- set BusInterfaceType = $($R1)
- set BusNumber = $($R2)
- set AdapterList = $(Option) ;; 1 Item to install
- Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
- Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
- endif
- else
- Debug-Output "$(InfFile) $(Option): Running 3.51 using PCI Dectection"
- ;;
- ;; v3.51 has PCI detection code built in.
- ;;
- ;;set BusInterfaceType = 5
- ;;set BusNumber = 0
- ;; Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
-
- set NTDetected = $(TRUE)
- set Vendor = 4279 ;; 0x10b7 is 3Com's Vendor ID!
- set-div CFID = $($(Option)CFID) 1
- Debug-Output "$(InfFile) $(Option): VendorID = $(Vendor)"
- Debug-Output "$(InfFile) $(Option): CFID = $(CFID)"
- Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ifstr(i) $($R0) == {}
- set Error = $(CANNOT_FIND_ANY_CARD)
- set CommonStatus = USER_CANCEL
- set from = end
- goto nonfatal
- endif
- set AdapterList = $($R0)
- endif ;;; NT v3.50
- endif ;;; Looking for PCI cards in Option.
-
- ; "AdapterList" has the list of currently installed adatpers in the system!
- ;
- Debug-Output "$(InfFile) $(Option): Adapterlist = $(AdatperList)"
- ForListDo $(AdapterList)
- Set InstallCard = "YES"
- ifint $(NTDetected) == $(TRUE)
- set DetectedBusNum = *($($),1)
- set DetectedSlotNum = *($($),2)
- Debug-Output "$(InfFile) $(Option): DetectedBusNumber = $(DetectedBusNum)"
- Debug-Output "$(InfFile) $(Option): DetectedSlotNum = $(DetectedSlotNum)"
-
- Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), +
- $(DetectedSlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName)
-
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ifstr $($R0) != "NO_ERROR"
- set Error = $($R0)
- goto fatal
- endif
- ifstr(i) $($R1) == "YES"
- set InstallCard = "NO" ;; Don't want to re-install, it's there already
- endif
- endif
- ;;
- ;; Are we installing the card?
- ;;
- ifstr(i) $(InstallCard) == "NO"
- Debug-Output "$(InfFile) $(Option): Card Already at $(DetectedBusNum):$(DetectedSlotNum) already installed!"
- set Error = "An adapter at $(DetectedBusNum):$(DetectedSlotNum) is already installed!"
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- else
- Debug-Output "$(InfFile) $(Option): Installing Card at $(DetectedBusNum):$(DetectedSlotNum)!"
- Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
- ifint $($R4) != -1
- Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
- endif
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- CloseRegKey $($R1)
- CloseRegKey $($R2)
- CloseRegKey $($R3)
- goto fatalregistry
- endif
- Set HardNetCardKey = $($R1)
- Set HardNetRuleKey = $($R2)
- Set HardParameterKey = $($R3)
- set AdapterNumber = $($R4)
- set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
- {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
- {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
- {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
- {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
- {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
- Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ;
- ; Are we installing EISA or PCI?
- ;
- ifcontains(i) $(Option) in {3C597,3C592}
- ;
- ; EISA (3c597, 3c592)
- ;
- set BusTypeNum = 1
- set BusMaster = "YES"
- set Bus = "EISA"
- ifstr(i) $(Option) == "3C597"
- set CardType = 1
- else
- set CardType = 3
- endif
- else
- ;
- ; PCI (3c595, 3c590)
- ;
- set BusTypeNum = 5
- set BusMaster = "YES"
- set Bus = "PCI"
- ifstr(i) $(Option) == "3C595"
- set CardType = 0
- else
- set CardType = 2
- endif
- endif
- ;;
- ;; If we used the OS to dected the card, then we already know bus and slot information.
- ;;
- ifint $(NTDetected) == $(TRUE)
- set BusNumber = $(DetectedBusNum)
- set SlotNum = $(DetectedSlotNum)
- set BusInterfaceType = $(BusTypeNum)
- ;
- ; Note: we need to record SlotNumber too so that we can use the
- ; "IsNetCardAlreadyInstalled" routine
- ;
- Set NewValueList = {+
- {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
- {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}+
- }
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
-
- Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} }
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- else
- Set NewValueList = {+
- {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
- }
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- endif
-
- Set NewValueList = {+
- {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
- {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
- {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
- }
-
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
-
- set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
- set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
- set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
- {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
- {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
- {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
-
- Debug-Output "$(InfFile) $(Option): HardwareRuleKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- CloseRegKey $(HardNetCardKey)
- CloseRegKey $(HardNetRuleKey)
- CloseRegKey $(HardParameterKey)
- endif
- EndForListDo
- EndWait
- goto successful
-
- updateparameters =+
- Debug-Output "$(InfFile) $(Option): Updateparameters"
- set HardParameterKey = $($R3)
-
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- CloseRegKey $(KeyParameters)
- goto successful
-
- bindingadapter =+
- Debug-Output "$(InfFile) $(Option): bindingadapter"
- set Error = "Binding: Sorry, not yet implemented."
- goto fatal
-
- removeadapter = +
- Debug-Output "$(InfFile) $(Option): removeadapter"
- Debug-Output "$(InfFile) $(Option): ----> $(ProductKeyName), $(!NTN_RegBase)"
- Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
- Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
- $(ProductSoftwareName)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- else
- Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), $(!NTN_RegBase)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- endif
- goto end
-
- UpgradeSoftware = +
- Debug-Output "$(InfFile) $(Option): UpdateSoftware"
- OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
- Ifstr $(KeyProduct) != $(KeyNull)
- Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "ShellCode error"
- goto ShellCodeError
- endif
- set !UG_Filename = $($R0)
- install "Install-Update"
- ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
- goto fatal
- endif
- SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
- SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
- CloseRegKey $(KeyProduct)
- else
- goto fatalregistry
- endif
- goto end
-
- successful = +
- Debug-Output "$(InfFile) $(Option): Successful"
- goto end
-
- abandon = +
- Debug-Output "$(InfFile) $(Option): Abandon"
- ForListDo $(OEM_ABANDON_OPTIONS)
- Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), $($)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- EndForListDo
- Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
- Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), FALSE
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- endif
- goto end
-
- warning = +
- Debug-Output "$(InfFile) $(Option): warning"
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ifstr(i) $($R1) == "OK"
- goto $(to)
- else-ifstr(i) $($R1) == "CANCEL"
- goto $(from)
- else
- goto "end"
- endif
-
- nonfatalinfo = +
- Debug-Output "$(InfFile) $(Option): nonfatalinfo"
- Set CommonStatus = STATUS_USERCANCEL
- Set Severity = STATUS
- goto nonfatalmsg
-
- nonfatal = +
- Debug-Output "$(InfFile) $(Option): nonfatal"
- Set Severity = NONFATAL
- goto nonfatalmsg
-
- nonfatalmsg = +
- Debug-Output "$(InfFile) $(Option): nonfatalmsg"
- ifstr(i) $(Error) == ""
- Set Severity = NONFATAL
- Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- endif
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ifstr(i) $($R1) == "OK"
- goto $(from)
- else
- ; goto "end"
- goto "RemoveAdapter"
- endif
-
- fatalregistry = +
- Debug-Output "$(InfFile) $(Option): fatalregistry"
- Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- goto fatal
-
- fatal = +
- Debug-Output "$(InfFile) $(Option): fatal"
- ifstr(i) $(Error) == ""
- Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- endif
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- goto setfailed
-
- ShellCodeError = +
- Debug-Output "$(InfFile) $(Option): ShellCodeError"
- set DlgType = "MessageBox"
- set STF_MB_TITLE = $(ShellCodeErrorTitle)
- set STF_MB_TEXT = $(ShellCodeErrorText)
- set STF_MB_TYPE = 1
- set STF_MB_ICON = 3
- set STF_MB_DEF = 1
- ui start "Error Message"
- goto setfailed
-
- setfailed = +
- Debug-Output "$(InfFile) $(Option): Setfailed"
- set CommonStatus = STATUS_FAILED
- ifstr(i) $(OEM_ABANDON_ON) == TRUE
- set OEM_ABANDON_ON = FALSE
- goto abandon
- endif
- goto end
-
- end = +
- goto term
-
- term = +
- Return $(CommonStatus)
-
- [Install-Option]
- set STF_VITAL = ""
- ifstr(i) $(AddCopy) == "YES"
- AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
- endif
- ifstr(i) $(DoCopy) == "YES"
- set !STF_NCPA_FLUSH_COPYLIST = TRUE
- CopyFilesInCopyList
- endif
- Exit
-
- [Install-Hlp]
- set STF_VITAL = ""
- AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
- set !STF_NCPA_FLUSH_COPYLIST = TRUE
- CopyFilesInCopyList
- Exit
-
- [Install-Update]
- set STF_VITAL = ""
- set STF_OVERWRITE = "VERIFYSOURCEOLDER"
- AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
- AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
- AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
- set !STF_NCPA_FLUSH_COPYLIST = TRUE
- CopyFilesInCopyList
- exit
-
- [Source Media Descriptions]
- 1 = "Windows NT Setup Disk #1"
- 2 = "3Com Etherdisk for Fast Etherlink/Etherlink III Bus Master Adapters"
-
- [Signature]
- FileType = MICROSOFT_DRVLIB_FILE
- [GetSignature]
- read-syms Signature
- return $(FileType)
-
- [ProductType]
- STF_PRODUCT = Winnt
- STF_PLATFORM = I386
-
- [Files-Inf]
- 2, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename)
-
- [Files-Hlp]
- 2, 3C59x.hlp , SIZE=88888
-
- ;
- ; Driver files
- ;
- [Files-3C595]
- 2,EL59x.SYS , SIZE=88888
- [Files-3C597]
- 2,EL59x.SYS , SIZE=88888
- [Files-3C590]
- 2,EL59x.SYS , SIZE=88888
- [Files-3C592]
- 2,EL59x.SYS , SIZE=88888
-
- [LanguagesSupported]
- ENG
-
- [OptionsTextENG]
- 3C595 = "3Com Fast EtherLink PCI 10/100BASE-T Adapter (3C595)"
- 3C597 = "3Com Fast EtherLink EISA 10/100BASE-T Adapter (3C597)"
- 3C590 = "3Com EtherLink III PCI Bus-Master Adapter (3C590)"
- 3C592 = "3Com EtherLink III EISA Bus-Master Adapter (3C592)"
-
-
- [FileConstantsENG]
- ProCaption = "Windows NT v3.5 Setup"
- ProCancel = "Cancel"
- ProCancelMsg = "Windows NT Networking is not correctly installed. "+
- "Are you sure you want to cancel copying files?"
- ProCancelCap = "Network Setup Message"
- ProText1 = "Copying:"
- ProText2 = "To:"
-
- ConnectionList = ^(ConnectionChoices$(Option), 1)
- ConnectionValues = ^(ConnectionChoices$(Option), 2)
- NoList = ^(NoChoices, 1)
- NoValues = ^(NoChoices, 2)
- ShellCodeErrorTitle = "Error: "$(Function$(Option)Title)
- ShellCodeErrorText = "Shell Code Error."
- CANNOT_FIND_ANY_CARD = "Network card is not present in the system"
-
- [DialogConstantsENG]
- Help = "&Help"
- Exit = "Cancel"
- OK = "OK"
- HelpContext = ""
- Continue = "Continue"
- Cancel = "Cancel"
-
- ; *******
- ; Note: This code is not used now, I have place it here for future use!
- ; ******
- ;[FileDependentDlgENG]
- ; Combo1Label = "&Connection Type:"
- ; Combo1List = $(ConnectionList)
- ; Combo1Out = $(ConnectionValue)
- ; ComboListItemsIn = {Combo1List}
- ; ComboListItemsOut = {Combo1Out}
- ; DlgTemplate = "ADAP_PROTO_COMBO"
- ; DlgType = "Combination"
- ; Caption = $(Function$(Option)Title)
- ; EditTextLim = ""
- ; CBOptionsGreyed = {}
- ; MinHelpId = 10
- ; MaxHelpId = 1050
- ; HelpContext = $(Help$(Option)Id)
- ;[FileDependentDlgENG]
- ;GroupLabel = "Optimization:"
- ;Radio1 = "&Minimize Memory Used"
- ;Radio2 = "&Balance"
- ;Radio3 = "M&a;ximize Throughput && Conn.ections"
- ;DlgType = "Radio"
- ;DlgTemplate = "ST"
- ;Caption = $(FunctionTitle)
- ;OpionsGreyed = {}
- ;HelpConext = $(!IDH_DB_OEMNXPNB_INS)
-
-